package com.onesports.intelligent.k12.polarlight.mapper.course;


import com.onesports.intelligent.k12.polarlight.domain.vo.course.ClassStuScheduleDetailVO;
import com.onesports.intelligent.k12.polarlight.domain.vo.student.StuUserInfoVO;
import com.onesports.intelligent.k12.polarlight.domain.vo.student.StudentByClassIdVO;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.onesports.intelligent.k12.polarlight.domain.entity.course.ClassStudent;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 班级学员表
 *
 * @author
 * @since 1.0.0 2022-07-08
 */
@Mapper
public interface ClassStudentMapper extends BaseMapper<ClassStudent> {
    /**
     * 通过classId获取学员信息
     *
     * @param classId 班级id
     * @return List<StudentByClassIdVO>
     */
    List<StudentByClassIdVO> getStudentByClassId(@Param("classId") String classId);

    /**
     * 获取班级下的学员以及家长钱包信息
     *
     * @param classIds 班级ids
     * @return List<StuUserInfoVO>
     */
    List<StuUserInfoVO> stuUserInfo(@Param("classIds") List<String> classIds);

    /**
     * 获取班级学员课表信息
     *
     * @param classIdList 班级id
     * @return List<ClassStuScheduleDetailVO>
     */
    List<ClassStuScheduleDetailVO> stuScheduleDetail(@Param("classIds") List<String> classIdList,
                                                     @Param("currentDate") Date currentDate, @Param("currentTime") Date currentTime);
}
